// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
// import com.alibaba.druid.sql.ast.statement.SQLSelect;
// import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlStatementImpl;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
#pragma once
#include "../statement/MySqlStatementImpl.h"

class MySqlCursorDeclareStatement : virtual public MySqlStatementImpl
{
public:
  // cursor name
  SQLName_ptr cursorName;
  // select statement
  SQLSelect_ptr select;

  SHAREDOBJECT(MySqlCursorDeclareStatement);
  SQLName_ptr getCursorName();

  void setCursorName(SQLName_ptr cursorName);

  void setCursorName(string_ptr cursorName);

  SQLSelect_ptr getSelect();

  void setSelect(SQLSelect_ptr select);

  // @Override
  void accept0(MySqlASTVisitor_ptr visitor);
};
